1. Field of the Invention
This invention relates to hardware of a virtual machine or computer which provides compatibility of programs between different kinds of personal computers, workstations, etc., having different architectures, and to a virtual machine monitor program which is software for controlling the hardware.
2. Description of the Related Art
As a result of originality on the part of manufacturers, there exist many different architectures in information is processing machines such as personal computers. Here in this specification, the term "architecture" means the design and interaction of a memory map, an I/O map, LSIs, an OS function, a BIOS (Basic Input Output System) function, a keyboard, etc. Since the construction of hardware and software is different between different kinds of information processing machines, there is no compatibility between applications software developed independently for the respective kinds of information processing machines. Consequently, a user had to purchase another machine which can execute the applications software the user wishes to use. Otherwise the user had to modify or implement the applications software such that the same applications software is operable on the existing machine.
To this end, various attempts have hitherto been made, as virtual machines, on large-scale computers to provide compatibility of a particular kind of machine (called a "base machine" here in this specification) with another kind of machine (called a "target machine" here in this specification) having a different architecture. As advances have recently been made in, for example, LSI technology, the applications of virtual machines even to personal computers has been on the rise.
For realizing a virtual machine on a personal computer, it is needed to emulate function calls for at least the OS and the BIOS. Japanese Patent Laid-Open Publication No. 61-184643 discloses a method of emulating a system call using a privileged instruction.
In personal computers, it has been a common practice to directly access a display control section by applications software in is order to perform the processing at high speed. Therefore, regarding the display control section, it is necessary to emulate the hardware of a target machine by some means. A method for emulating I/O operation is disclosed in Japanese Patent Laid-Open Publication No. 62-279431. Further, a method for emulating the display control section of a target machine by using the display control section of a base machine is described in, for example, a magazine named Nikkei Byte (hereinafter called "Nikkei Byte"), October issue, pages 140-150, published October 1987, by Nikkei Business Publishing, Inc.
However, with the method for emulating the I/O operation of the display system by software, the number of steps of a program would increase to lower the performance due to the reduced processing speed.
In addition, with the method for emulating the display control section of a target machine by the display control section of a base machine, all functions which can be realized would be limited to the display functions of the base machine. For example, there would be limited the number of colors to be displayed, the number of dots on the screen, or so-called character attributes such as underline and inverting.
For a solution to this problem, the Nikkei Byte June issue, pages 85-86, published June 1988, and the Nikkei Byte July issue, pages 110-111, published July 1988, disclose technical concepts of providing, in addition to the display control section of a base machine, the display control section of a target machine in hardware and switchably using these two display control sections. With this prior method, however, the OS of the base machine could not be used as it was but, rather, it was necessary to prepare a new OS.